package net.huashitong.ssydt.money.entity.vo;

import org.hibernate.validator.constraints.NotBlank;
import org.hibernate.validator.constraints.NotEmpty;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 * @author hemj
 * @version 2017/8/15
 */
public class SsMoneyGoldBagInVO {

    @NotNull(message = "原价不能为空")
    @Min(value = 0, message = "原价不能小于0")
    private BigDecimal originalPrice;//原价
    @NotNull(message = "优惠价不能为空")
    @Min(value = 0, message = "优惠价不能小于0")
    private BigDecimal favourablePrice;//优惠价
    @NotNull(message = "特惠价不能为空")
    @Min(value = 0, message = "特惠价不能小于0")
    private BigDecimal preferencePrice;//特惠价
    @NotEmpty(message = "当前执行价不能为空")
    private String nowExecute;//当前执行价	 01 原价 02优惠价 03特惠价
    @NotBlank(message = "名称不能为空")
    private String bagName;//名称
    @NotBlank(message = "描述不能为空")
    private String description;//描述
    @Min(value = 0, message = "金币数量不能小于0")
    private Long goldNumber; //金币数量
    @Min(value = 0, message = "顺序不能小于0")
    private Integer sequence;//顺序 默认 99
    @NotEmpty(message = "状态不能为空")
    private String state;//状态 01 启用 02停用
    @Min(value = 0, message = "购买次数限制不能小于0")
    private Integer numberLimit;//购买次数限制	 当值为0时不限制

    private String appleGoodsId;//苹果商品id
    private String appType; //app类型

    public BigDecimal getOriginalPrice() {
        return originalPrice;
    }

    public void setOriginalPrice(BigDecimal originalPrice) {
        this.originalPrice = originalPrice;
    }

    public BigDecimal getFavourablePrice() {
        return favourablePrice;
    }

    public void setFavourablePrice(BigDecimal favourablePrice) {
        this.favourablePrice = favourablePrice;
    }

    public BigDecimal getPreferencePrice() {
        return preferencePrice;
    }

    public void setPreferencePrice(BigDecimal preferencePrice) {
        this.preferencePrice = preferencePrice;
    }

    public String getNowExecute() {
        return nowExecute;
    }

    public void setNowExecute(String nowExecute) {
        this.nowExecute = nowExecute;
    }

    public String getBagName() {
        return bagName;
    }

    public void setBagName(String bagName) {
        this.bagName = bagName;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public Long getGoldNumber() {
        return goldNumber;
    }

    public void setGoldNumber(Long goldNumber) {
        this.goldNumber = goldNumber;
    }

    public Integer getSequence() {
        return sequence;
    }

    public void setSequence(Integer sequence) {
        this.sequence = sequence;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    public Integer getNumberLimit() {
        return numberLimit;
    }

    public void setNumberLimit(Integer numberLimit) {
        this.numberLimit = numberLimit;
    }

    public String getAppleGoodsId() {
        return appleGoodsId;
    }

    public void setAppleGoodsId(String appleGoodsId) {
        this.appleGoodsId = appleGoodsId;
    }

    public String getAppType() {
        return appType;
    }

    public void setAppType(String appType) {
        this.appType = appType;
    }

    @Override
    public String toString() {
        final StringBuilder sb = new StringBuilder("SsMoneyGoldBagInVO{");
        sb.append("originalPrice=").append(originalPrice);
        sb.append(", favourablePrice=").append(favourablePrice);
        sb.append(", preferencePrice=").append(preferencePrice);
        sb.append(", nowExecute='").append(nowExecute).append('\'');
        sb.append(", bagName='").append(bagName).append('\'');
        sb.append(", description='").append(description).append('\'');
        sb.append(", goldNumber=").append(goldNumber);
        sb.append(", sequence=").append(sequence);
        sb.append(", state='").append(state).append('\'');
        sb.append(", numberLimit=").append(numberLimit);
        sb.append(", appType=").append(appType);
        sb.append('}');
        return sb.toString();
    }
}
